1. Field of the Invention
The present invention generally relates to data reproducing apparatuses that reproduce data recorded on a record medium such as an optical disk, and particularly relates to a data reproducing apparatus that reproduces data recorded on the record medium by use of a partial response (PR) method.
2. Description of the Related Art
Magneto-optical recording/reproducing apparatus, for example, is one type of data reproducing apparatus, and is used in various fields for the purpose of recording/reproducing image information, recording/reproducing various code data for computers, etc., because of its large capacity, exchangeability, high reliability, etc. Year after year, there has been an increasing demand for the provision of a larger capacity for such magneto-optical recording apparatus.
To satisfy such demand, data needs to be recorded on a record medium at high density, and the recorded data needs to be reproduced from the record medium with high precision. As a method of performing high-density data recording and high-precision reproducing, there has been proposed a method that modulates a record data signal into a partial response (PR) waveform for recording on an optical disk record medium, and samples a signal reproduced from the optical disk record medium at predetermined intervals, followed by detecting most likely data by use of a Viterbi detector (maximum likelihood data detector).
FIG. 1 is a drawing showing an example of a conventional Viterbi detector. A Viterbi detector 100 of FIG. 1 includes a branch metric computation unit (referred to as BM) 101, an add/compare/select unit (referred to as ACS) 102, a path metric memory (referred to as PMM) 103, and a path memory (referred to as PM) 104.
When the Viterbi detector 100 is applied to the data reproducing system of a magneto-optical disk apparatus, the BM 101 receives a sampling value yt with respect to a signal reproduced from the magneto-optical disk, and computes a branch metric value (BM value) that is a difference between the sampling value yt and an expected value. This expected value is dependent on a partial response waveform used at the time of data recording, and is the value that the reproduced signal is supposed to assume. The BM value is computed separately for each expected value when one sampling value yt is supplied to the BM 101.
The ACS 102 adds the BM value to a path metric value (PM value) of a preceding clock cycle stored in the PMM 103, and compares every two of the added PM values. Based on the result of this comparison, the ACS 102 selects a smaller one of the PM values as a new PM value, and stores the selected PM value in the PMM 103. As a result of such processes, the PM value becomes a cumulated sum of the BM values. The selecting of a smaller one as describe above is equivalent to the selecting of a state transition path. Namely, the ACS 102 always select a state transition path for which the PM value becomes minimum.
The PM 104 receives, from the ACS 102, data (binary data) corresponding to the selected path as described above. The PM 104 successively shifts the data corresponding to each selected path. While doing so, the PM 104 successively discards data corresponding each path if the path is decided not to be selected in view of the continuity of state transitions. The PM 104 outputs the data corresponding to the survived paths as detected data.
As described above, record data is modulated into a record signal having a partial response waveform, and the record signal is recorded on the magneto-optical disk, followed by detecting the most likely data by use of a Viterbi detector. This achieves highly-precise data reproduction with respect to a magneto-optical disk on which high-density recording was performed. Such recording/reproducing method is referred to as partial-response/maximum-likelihood decoding (hereinafter referred to as PRML).
FIG. 2 is a drawing showing an example of the operation of the conventional Viterbi decoder 100 shown in FIG. 1. At a time sequence 0, there are a branch 201 for transition from state 0 to state 0 and a branch 202 for transition from state 0 to state 1. In state 1, the computation as described above to select a smaller one of the PM values discards the branch 202 for transition from state 0 to state 1 at the time sequence 0, so that the branch 201 for transition from state 0 to state 0 survives. Then, there are a branch 203 for transition from state 0 to state 0 and a branch 204 for transition from state 0 to state 1.
In this manner, surviving paths are successively selected, resulting in the survival of a path 220. The PM 104 then outputs the data corresponding to the surviving paths as detected data.
During the computation of the BM values and PM values, however, there may be a branch having low reliability. Here, “low reliability” refers to a state in which the actual sample value is far away from any expected values. On the other hand, “high reliability” refers to a state in which the actual sample value is close to some expected value. Namely, the closer the actual sample value to some expected value, the higher the reliability of the sample value is. A sample value having low reliability has a high possibility of being incorrect.
There are various methods for improvement with respect to the Viterbi decoding method based on the Viterbi detector.
As an expanded configuration, for example, information about the position of a possibly incorrect branch according to the branch metric value of the ACS unit is recorded. At the time of selecting this possibly incorrect branch path, data obtained by selecting the other path is set aside as the second option for reproduction, the third option for reproduction, the fourth option for reproduction, etc. The individual options are compared and analyzed to select a right option, thereby reducing the possibility of error.
In this method, however, FIFO memory needs to be provided in large amount to store data for the data processing. Since the FIFO memory stores selected paths (Dm), other options (Rm), parity information (Pk), and option 1 (x1) for N bits, large circuit size becomes a problem.
In consideration of this problem, there is a method that obviates this problem by modifying the selected paths according to ACS.
FIG. 3 is a drawing showing an example of a conventional Viterbi detector 300 that modifies selected paths. The Viterbi detector 300 mainly includes the BM 101, the ACS 102, the PMM 103, a reliability computation block 301, a modified-path generating block 302, the PM 104, a parity computation block 303, and a correct-data selecting block 304. In FIG. 3, elements having the same numerals as those of FIG. 1 represent the same elements.
In the Viterbi detector 300 of FIG. 3, provision is made to cope with other options in numbers as many as the predetermined number. To this end, the reliability computation block 301 computes the degree of reliability based on the results of ACS within the data length defined by the path metric computation (i.e., within the data group to which parity is added). Based on this degree of reliability, the modified-path generating block 302 detects a branch path having lower reliability. The path that is inverted at the position of this selected path Dm is treated as an inversion option path.
FIG. 4 is a drawing showing the operation that inverts such inversion option. When FIG. 4 is compared with FIG. 2, a low reliability path 210 shown in FIG. 2 is a path for transition from state 0 to state 0 at a time sequence 9. In FIG. 4, on the other hand, an inversion is performed to take a path 401 for transition from state 1 to state 0 at the time sequence 9. Then, surviving paths are successively selected, resulting in the survival of the path 410.
Thereafter, a plurality of inversion option paths generated in this manner are stored in the PM 104. At the end, the parity computation block 303 checks errors, followed by the correct-data selecting block 304 outputting correct data among the plurality of inversion option paths.
The technology preceding the present invention may include the following Patent Documents.
[Patent Document 1] Japanese Patent Application Publication No. 10-209882
[Patent Document 2] Japanese Patent Application Publication No. 2002-50134
[Patent Document 3] Japanese Patent Application No. 2001-336802
The method of selecting a correct path from a plurality of inversion option paths has problems as follows.
The method of selecting a correct path from a plurality of inversion option paths checks reliability at the time of path metric computation, and generates an inversion option based on the computation results. If there is an inversion option, a corresponding portion in the path memory (PM) 104 is inverted.
Under normal circumstances, a path selected through computation by the ACS 102 matches the state of the path memory. When the method of selecting a correct path from a plurality of inversion option paths is used, the value computed by the ACS 102 after the inversion of an inversion option does not necessarily match the state of the path memory PM 104.
As a result, on the paths following the point where an inversion option is inverted, a path that is supposed to be selected may end up being not selected.
FIG. 5 is a drawing showing a case in which on the paths following the point where an inversion option is inverted, a path that is supposed to be selected ends up being not selected. When FIG. 2, FIG. 4, and FIG. 5 are compared, the low reliability path 210 at the time sequence 9 in FIG. 2 is inverted into the inversion path 401 at the time sequence 9 as shown in FIG. 4, resulting in a path 402 for transition from state 0 to state 0 at a time sequence 14 in FIG. 4 being inverted into a path 501 for transition from state 1 to state 0 at the time sequence 14 in FIG. 5. Then, surviving paths are successively selected, resulting in the survival of the path 510.
As such phenomenon occurs, if the decoded data includes 2-bit errors, for example, the parity computation block 303 may not be able to detect the errors by performing parity checks. Consequently, erroneous data may be output from the correct-data selecting block 304 as correct data, which contributes to an increase in the number of errors at the time of read operation.
The reason why the path metric computation value after inversion does not match the state of the path memory is as follows.
The formula for path metric computation is as follows.PMm=Min{PMi+BMj, PMk+BMl}  (1)
Conventionally, data stored in the path memory PM 104 is such that the selected path Dm becomes 1 if the value of PMi+BMj, which is the first one of the contents of the parentheses “{ }”, is selected as PMm in the above formula, and such that the selected path Dm becomes 0 if the value of PMk+BMl, which is the second one, is selected.
In the method of selecting a correct path from a plurality of inversion option paths, if the first value “PMi+BMj” and the second value “PMk+BMl” are close to each other, it is ascertained that reliability is low. In this case, “1” is stored in place of “0” in the path memory, and “0” is stored in place of “1”.
In the method of selecting a correct path from a plurality of inversion option paths, no exchange is performed with respect to the path metric feedback values to be used next in order to compute the next path metric PMm.
Accordingly, if the first value “PMi+BMj” and the second value “PMk+BMl” are close to each other in the above formula (1), a path such as the path 501 at the time sequence 14 of FIG. 5 as described above may be selected due to the influence of path metric computation error generated by the lack of exchanging operations. This results in an increase in error.